<p>A <code>catch</code> clause that only rethrows the caught exception has the same effect as omitting the <code>catch</code> altogether and letting it bubble up automatically, but with more code and the additional detrement of leaving maintainers scratching their heads. </p>
<p>Such clauses should either be eliminated or populated with the appropriate logic.</p>

<h2>Noncompliant Code Example</h2>
<pre>
string s = "";
try {
  s = File.ReadAllText(fileName);
}
catch (Exception e) {  // Noncompliant
  throw e;
}
</pre>

<h2>Compliant Code Example</h2>
<pre>
string s = "";
try {
  s = File.ReadAllText(fileName);
}
catch (Exception e) {  // Compliant
  logger.LogError(e);
  throw e;
}
</pre>
<p>or</p>
<pre>
string s = File.ReadAllText(fileName);
</pre>